Cocos Creator 数据存储之 Array

石朝辉2019-01-22 16:32Cocos Cocos CreatorCocos Cocos Creator

转载请注明出处,点击此处open in new window 查看更多精彩内容

Cocos Creator 文档 -- 存储和读取用户数据open in new window

存取方式

// 存储数据
cc.sys.localStorage.setItem(key, value);
// 读取数据
var value = cc.sys.localStorage.getItem(key);

Array 存取的坑

var arr = [1, 2, 3];
// 保存
cc.sys.localStorage.setItem(key, arr);
// 读取
var value = cc.sys.localStorage.getItem(key);

问题来了。

H5 中读出来是一个字符串 1,2,3,但小游戏中读出来却是一个 Array 对象。

使用 JSON 解决兼容问题

var arr = [1, 2, 3];
// 保存,JSON.stringify(arr) 将 arr 转成字符串 "[1,2,3]"
cc.sys.localStorage.setItem(key, JSON.stringify(arr));
// 读取,通过 JSON.parse(value) 将 value 转成 Array 对象。
var value = JSON.parse(cc.sys.localStorage.getItem(key));
最后更新于 2024-02-04 02:20:03